home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1990-04-12 | 1.4 KB | 47 lines |
- 100 REM WRITING IN CODE
- 105 WIDTH 80
- 110 REM IBM BASIC
- 120 GOSUB 150:GOTO 180
- 130 DIM W$(255),A$(255),A(255):RETURN
- 140 PRINT STRING$(80,45):RETURN
- 150 CLS:FOR X=1 TO 10:PRINT:NEXT X:RETURN
- 160 PRINT:INPUT "Press >RETURN< (Q to quit) ",R$:IF R$="Q" THEN 170 ELSE RETURN
- 170 GOSUB 150:GOSUB 140:PRINT TAB(38)"End.":GOSUB 140:RUN"FILES."
- 180 PRINT"Do you want to:":GOSUB 140
- 190 PRINT 1,"Encode?"
- 200 PRINT 2,"Decode?":GOSUB 140:PRINT 3,"Exit program?":GOSUB 140
- 210 INPUT "Which? ",WHICH:GOSUB 150
- 220 ON WHICH GOTO 230,380,170
- 230 CLEAR:GOSUB 130:GOSUB 150:INPUT "Type the key number (-30 to 30) ",N%:PRINT
- 240 GOSUB 150:INPUT "Type data for encoding (use CAPITAL letters only) ",WORD$
- 250 L=LEN(WORD$)
- 260 FOR X=1 TO L:A$(X)=MID$(WORD$,X,1):NEXT X
- 270 FOR Y=1 TO L:A(Y)=ASC(A$(Y)):A(Y)=A(Y)-N%:NEXT Y
- 280 GOSUB 140
- 290 FOR Z=1 TO L:W$(Z)=CHR$(A(Z)):NEXT Z
- 300 FOR W=1 TO L:WW$=WW$+W$(W):NEXT W
- 310 PRINT TAB(26)WW$
- 320 GOSUB 140:INPUT "Printout? (Y/N) ",RP$
- 330 IF RP$="Y" THEN LPRINT WW$ ELSE 340
- 340 FOR E=1 TO L:W$(E)=CHR$(32):NEXT E
- 350 OPEN "O",#1,"CODE.DTA"
- 360 PRINT #1,WW$:CLOSE #1
- 370 N%=0:GOSUB 150:GOTO 180
- 380 ON ERROR GOTO 520
- 390 GOSUB 150:INPUT "Code number used? ",N%
- 400 OPEN "I",#1,"CODE.DTA":INPUT #1,WW$:CLOSE #1:CODE$=WW$
- 410 L=LEN(CODE$)
- 420 FOR X=1 TO L:A$(X)=MID$(CODE$,X,1):NEXT X
- 430 FOR Y=1 TO L:A(Y)=ASC(A$(Y)):A(Y)=A(Y)+N%:NEXT Y
- 440 GOSUB 140
- 450 FOR Z=1 TO L:W$(Z)=CHR$(A(Z)):NEXT Z
- 460 FOR W=1 TO L:DC$=DC$+W$(W):NEXT W
- 470 PRINT TAB(33)DC$
- 480 GOSUB 140:INPUT "Printout? (Y/N) (message will be erased after this) ",PR$
- 490 IF PR$="Y" THEN LPRINT DC$ ELSE 500
- 500 KILL "CODE.DTA"
- 510 GOSUB 150:GOTO 180
- 520 GOSUB 150:GOSUB 140:PRINT TAB(20)"No message for decoding has been recorded"
- 530 RESUME 540
- 540 GOSUB 140:GOSUB 160:GOSUB 150:GOTO 180
-